﻿using System.Collections.Generic;
using System.Runtime.Serialization;
using VNet.VisiSuite.Service.Contact.Enum;
using VNet.VisiSuite.Service.Contact.Message.Base;
using VNet.VisiSuite.Service.Contact.Message.Item;

namespace VNet.VisiSuite.Service.Contact.Message
{
    [DataContract(Namespace = VisiSuiteNamespace.Uri + "dto/ConfigureResponse")]
    public class ConfigureResponse : ServiceBaseResponse
    {
        [DataMember(IsRequired = true)]
        public CellItem Cell { get; set; }

        [DataMember(IsRequired = true)]
        public AreaItem Area { get; set; }

        [DataMember(IsRequired = true)]
        public PlantItem Plant { get; set; }

        [DataMember(IsRequired = true)]
        public List<CellAlarmSettingItem> CellAlarmSettings { get; set; }

        [DataMember(IsRequired = true)]
        public List<AreaShiftItem> AreaShifts { get; set; }

        [DataMember(IsRequired = true)]
        public List<AlarmSettingItem> AlarmSettings { get; set; }

        [DataMember(IsRequired = true)]
        public List<RollupDefinitionItem> RollupDefinitions { get; set; }

        [DataMember(IsRequired = true)]
        public List<ReasonCodeItem> ReasonCodes { get; set; }

        [DataMember(IsRequired = true)]
        public List<LaunchApplicationItem> LaunchApplications { get; set; }

        [DataMember(IsRequired = true)]
        public List<OperatorItem> Operators { get; set; }

        [DataMember(IsRequired = true)]
        public List<OperatorAuthItem> OperatorAuths { get; set; }

        [DataMember(IsRequired = true)]
        public List<OperationItem> Operations { get; set; }

        [DataMember(IsRequired = true)]
        public List<ProductItem> Products { get; set; }

        [DataMember(IsRequired = true)]
        public List<ProductOperationTimeItem> ProductOperationTimes { get; set; }

        [DataMember(IsRequired = true)]
        public List<ProductionPlanItem> ProductionPlans { get; set; }

        [DataMember(IsRequired = true)]
        public List<HoseSpecItem> HoseSpecs { get; set; }

        [DataMember(IsRequired = true)]
        public List<FractionalInchItem> FractionalInches { get; set; }

        [DataMember(IsRequired = true)]
        public List<TableDataChangeItem> TableDataChanges { get; set; }

    }
}